#include <jni.h>
#include <stdio.h>
#include <memory.h>
#include <stdlib.h>
#include <gsl/gsl_matrix.h>

#include "Matrix.h"

JNIEXPORT jobjectArray JNICALL Java_Matrix_Matrix2dMultiply
  (JNIEnv *env, jobject object, jobjectArray inArr);
{

	int i;
	jfloatArray outArr;
	jsize len = (*env)->GetArrayLength(env,inArr);
	jfloatArray *body = (jfloatArray)(*env)->GetIntArrayElements(env,inArr,0);



}
JNIEXPORT jintArray JNICALL Java_Matrix_Matrix1dMultiply
  (JNIEnv *env, jobject object, jintArray inArr)
{

	int i;
	jintArray outArr;
	jsize len = (*env)->GetArrayLength(env,inArr);
	jint *body = (*env)->GetIntArrayElements(env,inArr,0);

	outArr = (*env)->NewIntArray(env,len);
	jint *rbody = (*env)->GetIntArrayElements(env,outArr,0);
	for (i=0;i<len;i++)
		rbody[i]=body[i]*2;
	(*env)->ReleaseIntArrayElements(env,inArr,body,0);
	(*env)->ReleaseIntArrayElements(env,outArr,rbody,0);

	return outArr;
	

}


JNIEXPORT void JNICALL
Java_Matrix_print(JNIEnv *en, jobject obj,jint dept)
{
	printf("Hello World\n");

	gsl_matrix *matrix;

	int k,l;

	matrix  = gsl_matrix_alloc(dept,dept);
	for(k=0;k<dept;k++)
		for(l=0;l<dept;l++)
			gsl_matrix_set(matrix,k,l,rand());
	for(k=0;k<dept;k++)
		{ 
		for(l=0;l<dept;l++)
			printf("%g\t",gsl_matrix_get(matrix,k,l));
		printf("\n\n");
		}

	gsl_matrix_free(matrix);
			

}



